import pandas as pd

# 1、使用sort_values()方法，并指定axis=1参数。
# 创建一个示例DataFrame
data = {'A': [3, 1, 4],
        'C': [2, 6, 5],
        'B': [9, 8, 7]}
df = pd.DataFrame(data)

# 按照列名给列排序
df = df.sort_values(by=df.columns, axis=1)

print(df)

# 2、使用reindex()方法，并传递一个包含所需顺序的列名列表。
# 创建一个示例DataFrame
data = {'A': [3, 1, 4],
        'B': [2, 6, 5],
        'C': [9, 8, 7]}
df = pd.DataFrame(data)

# 按照指定顺序给列排序
order = ['B', 'C', 'A']
df = df.reindex(columns=order)

print(df)


# 3、如果想原地修改DataFrame的列顺序，可以使用df = df[order]的方式重新分配DataFrame给同名变量。
# 创建一个示例的合并 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3],
                    'B': [4, 5, 6]})
df2 = pd.DataFrame({'C': [7, 8, 9],
                    'D': [10, 11, 12]})
merged_df = pd.concat([df1, df2], axis=1)

# 按照指定顺序给列排序
order = ['D', 'C', 'B', 'A']
merged_df = merged_df[order]

print(merged_df)
